Skip to content

fix(audience): fix iOS App Store rejection due to incomplete privacy manifest and ATT copy#792

Merged
nattb8 merged 1 commit into
mainfrom
feat/sdk-451-ios-privacy-manifest-att
Jun 10, 2026
Merged

fix(audience): fix iOS App Store rejection due to incomplete privacy manifest and ATT copy#792
nattb8 merged 1 commit into
mainfrom
feat/sdk-451-ios-privacy-manifest-att

Conversation

@nattb8

@nattb8 nattb8 commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Why

Two gaps in the SDK's iOS privacy config caused an App Store rejection:

  1. NSPrivacyTrackingDomains was empty — Apple requires every tracking domain listed when NSPrivacyTracking = true. The SDK calls api.immutable.com but it was missing from both the static manifest and the build-time post-processor.
  2. Generic ATT prompt — Apple flags NSUserTrackingUsageDescription strings that don't describe a specific use case. The default was vague enough to get most apps rejected.

Changes

  • PrivacyInfo.attribution.xcprivacy — add api.immutable.com to NSPrivacyTrackingDomains
  • iOSPrivacyManifestPostProcessor — inject the tracking domain at build time (idempotent)
  • AudienceMobileBuildSettings — improve default ATT copy; strengthen tooltip to make clear it must be customised per-app before submission

Closes SDK-483, part of SDK-450.

Test plan

  • Build with AUDIENCE_MOBILE_ATTRIBUTION enabled; confirm api.immutable.com appears in UnityFramework/PrivacyInfo.xcprivacy
  • Re-run post-processor; confirm domain is not duplicated
  • Check AudienceMobileBuildSettings inspector shows updated tooltip and default string

🤖 Generated with Claude Code

…manifest and generic ATT copy

GoG's app was rejected by Apple because NSPrivacyTrackingDomains was empty
despite NSPrivacyTracking=true, and the default ATT prompt was flagged as
generic boilerplate. Apple requires tracking domains to be explicitly listed
and rejects vague usage descriptions.

Fixes SDK-483.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@nattb8 nattb8 requested review from a team as code owners June 10, 2026 04:50
@nattb8 nattb8 merged commit e5e9ec6 into main Jun 10, 2026
62 of 72 checks passed
@nattb8 nattb8 deleted the feat/sdk-451-ios-privacy-manifest-att branch June 10, 2026 08:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

2 participants